//copyright (c) 2016 L.W.C<lwc@li.cm>
#ifndef NCScript

	#define NCScript 1
	
	#include "vxin_rubbish.h"
	
	#define VLTP_KEYWD 0
	#define VLTP_INT 1
	#define VLTP_DOUBLE 2
	#define VLTP_PCHAR 3
	#define VLTP_VARNAME 4
	#define VLTP_FUNNAME 5
	#define VLTP_SYMBOL 6
	#define VLTP_FUNNAME_VOID 7
		
	typedef struct mrulist{
		void* ptr;
		struct mrulist *next;
	}mrulist;
	
	
	typedef struct{
		char type;
		union{
			int i;
			double d;
			char *ptr_c;
			char sym[2];
			int keywd;
			char *name;
		}u;
	}value;
	
	typedef struct valist{
		value v;
		struct valist *next;
	}valist;
	
	typedef struct NC {
		char *s;
		unsigned int line;
		valist *val;
		valist *sym;
		valist *stack;
		unsigned int symnum;
		vxin_slist *rub;
		mrulist *funreg;
	} NC;
	
#endif